package com.kaifamiao.bytestreams;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;

/**
 * InputStream类中的方法
 * 1、void close()
 * 2、int available()
 * 3、abstract int read() 从当前字节输入流中读取并返回单个字节(以int形式返回)
 */
public class InputStreamTest1 {

    public static void main(String[] args) throws IOException {

        File fod = new File( "hello.txt" );

        if( fod.isFile() ) {
            final long size = fod.length();
            System.out.println( size + " bytes." );
            // 创建一个用于读取 fod 所表示文件的 字节输入流
            InputStream in = new FileInputStream( fod );

            System.out.println( "available: " + in.available() );
            for( int i = 0 ; i < size; i++ ) {
                // 从字节输入流中读取单个字节(以int形式返回)
                int b = in.read();
                System.out.printf("%d, %c \n", b, (char) b);
                System.out.println("available: " + in.available());
            }

            // 关闭字节输入流
            in.close();
        }

    }

}
